home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 July: Mac OS SDK / Dev.CD Jul 97 SDK1.toast / Development Kits (Disc 1) / QuickDraw GX / Programming Stuff / Sample Code / Printing Samples / Printer Drivers… / LaserWriterIIsc (New GX v1.1) / OldAPIResources.r < prev    next >
Encoding:
Text File  |  1996-06-15  |  28.8 KB  |  1,044 lines  |  [TEXT/MPS ]

  1. /* ------------------------------------------------------------------------------
  2. FILENAME
  3.     OldAPIResources.r
  4.  
  5. DESCRIPTION
  6.     This module contains the LaserWriter SC resource constants and types that
  7.     are needed to support the old (i.e. QuickDraw) application printing interface.
  8.     
  9.     Note: resources specific to the old API (e.g. print and style dialog resources)
  10.     must retain the original resource ID's (e.g. -8192).  Don't set these resource
  11.     ID's to be based upon printingDriverBaseID.  Also note that all resources
  12.     should be designated to load into the system heap.
  13.         
  14. COPYRIGHT
  15.      Copyright Apple Computer, Inc. 1988-1996
  16.      All rights reserved. 
  17.  
  18. MODIFICATION HISTORY
  19.      6/14/96 - cn  - Updated to support Universal Interfaces 2.1.
  20.     
  21. -------------------------------------------------------------------------------- */
  22.  
  23. // System 7.0 Compatible
  24. #define SystemSevenOrLater        1
  25.  
  26. // Include System Resource Definitions
  27. #include "Types.r"
  28. #include "SysTypes.r"
  29. #include "BalloonTypes.r"
  30.  
  31. // Include the LaserWriter SC driver constants that are used in the resources 
  32. #include "LaserSCResources.h"
  33.  
  34. // Include the public QuickDraw GX printing files 
  35. #include "GXPrintingResTypes.r"
  36.  
  37.  
  38. /*********************************************************************************
  39.  *                                    TYPES                                                               *
  40.  *********************************************************************************/
  41.  
  42. type 'PREC' (0)             // LaserWriter SC - Old Style Print Record Definition that should be compatible with Syste, 7.0 version of LW SC driver
  43. {
  44.     integer = 3;                                        //iPrVersion - 3 = last version of LW SC driver before QuickDraw GX version
  45.     
  46.     
  47.                                                             //PrInfo 
  48.     integer;                                                    //    iDev 
  49.     integer;                                                    //    iVRes 
  50.     integer;                                                    //    iHRes 
  51.     rect;                                                        //    rPage 
  52.     
  53.     
  54.     rect;                                                    //rPaper 
  55.     
  56.     
  57.                                                             //PrStl 
  58.     byte;                                                        //    wDev refNum    
  59.     boolean NoIWf7, IWf7;                                //    wDev f7 (NOT USED) 
  60.     boolean NoIWDftBits, IWDftBits;                    //    wDev f6, fDraftBits (NOT USED) 
  61.     boolean NoIWResSet, IWResSet;                        //    wDev f5, fResSet (NOT USED) 
  62.     boolean NoIWScroll, IWScroll;                        //    wDev f4, fScroll (NOT USED) 
  63.     boolean NoIW2xZoom, IW2xZoom;                        //    wDev f3, f2xZoom (NOT USED) 
  64.     boolean NoIWSqPix, IWSqPix;                        //    wDev f2, fSqPix (NOT USED) 
  65.     boolean Landscape, Portrait;                        //    wDev f1, fPortrait 
  66.     boolean IWLowRes, IWHighRes;                        //    wDev f0, fHiRes (NOT USED) 
  67.     integer;                                                    //    iPageV 
  68.     integer;                                                    //    iPageH 
  69.     byte;                                                        //    bPort 
  70.     byte HandFeed, AutoFeed, Other1, Other2;        //    feed: the old SC driver defined AutoFeed as 1 and Manual as 0.    
  71.     
  72.     
  73.                                                             //PrInfoPT 
  74.     integer = 0xFD00;                                        //    iDev: Font mgr/QuickDraw device code
  75.     integer;                                                    //    iVRes 
  76.     integer;                                                    //    iHRes 
  77.     rect;                                                        //    rPage 
  78.     
  79.     
  80.                                                             //PrXInfo 
  81.     integer;                                                    // iCopies 
  82.     boolean Nof15, Yesf15;                                //    wFlags f15, f?? 
  83.     boolean Nof14, Yesf14;                                //    wFlags f14, f?? 
  84.     boolean Nof13, Yesf13;                                //    wFlags f13, f?? 
  85.     boolean Nof12, Yesf12;                                //    wFlags f12, f?? 
  86.     boolean Nof11, Yesf11;                                //    wFlags f11, f?? 
  87.     boolean Nof10, Yesf10;                                //    wFlags f10, f?? 
  88.     boolean NoGrayScl, YesGrayScl;                    //    wFlags f9,  fGrayScl {B10}    
  89.     boolean YesAbortCk, NoAbortCk;                    //    wFlags f8,  fNoAbortCheck {B10}    
  90.     boolean NoScale25, Scale25;                        //    wFlags f7,  fScale25    
  91.     boolean NoDftBits, DftBits;                        //    wFlags f6,  fDraftBits 
  92.     boolean NoResSet, ResSet;                            //    wFlags f5,  fResSet 
  93.     boolean NoBits4x, Bits4x;                            //    wFlags f4,  f4xBits 
  94.     boolean NoScale50, Scale50;                        //    wFlags f3,  fScale50    
  95.     boolean NoScale75, Scale75;                        //    wFlags f2,  fScale75    
  96.     boolean XLandscape, XPortrait;                    //    wFlags f1,  fPortrait (NOT USED)
  97.     boolean NoTxSmooth, TxSmooth;                        //    wFlags f0,  fTxSmooth 
  98.     integer;                                                    //    iBandh 
  99.     integer;                                                    //    iDevBytes 
  100.     integer;                                                    //    iBands 
  101.     byte dbl=-2, norm=0;                                    //    bPatScale 
  102.     byte;                                                        //    bULThick    
  103.     byte;                                                        //    bULOffset 
  104.     byte;                                                        //    bULShadow 
  105.     byte scanTB, scanBT, scanLR, scanRL;            //    scan 
  106.     fill byte;                                                //    bXInfoX 
  107.     
  108.     
  109.                                                             //PrJob 
  110.     integer;                                                    //    iFstPage    
  111.     integer;                                                    //    iLstPage    
  112.     integer;                                                    //    iFakeCopies    
  113.     byte Draft, Spool, User1, User2;                    //    bJDocLoop 
  114.     byte;                                                        //    fFromUsr    
  115.     longint;                                                    //    pIdleProc 
  116.     longint;                                                    //    pFileName 
  117.     integer;                                                    //    iFileVol    
  118.     byte;                                                        //    bFileVers 
  119.     byte;                                                        //    bJobFlags 
  120.                                                             // Make 120 byte total 
  121.     fill word [5];                                            // not used
  122.     rect;                                                        // contains a copy of rPaper
  123.     fill word [10];                                        // not used    
  124. };
  125.  
  126.  
  127. /*********************************************************************************
  128.  *                                    RESOURCES                                                           *
  129.  *********************************************************************************/
  130.  
  131. /*************************** Old API Message Override Resource **************************/
  132. // This overrideType resource tells the Printing Manager which old API messages we want to override, 
  133. // as well as some new backward compatibility messages. 
  134.  
  135. resource gxOverrideType (gxDriverCompatibilityOverrideID, sysHeap)
  136. {
  137.     {
  138.         gxPrValidate,                     kOldAPISegmentID, kFirstMsgJumpTableOffset,
  139.         gxConvertPrintRecordTo,     kOldAPISegmentID, kFirstMsgJumpTableOffset + 4,
  140.         gxConvertPrintRecordFrom,     kOldAPISegmentID, kFirstMsgJumpTableOffset + 8,
  141.         gxPrOpenDoc,                     kOldAPISegmentID, kFirstMsgJumpTableOffset + 12,
  142.     };
  143. };
  144.  
  145.  
  146. /*************************** Old Application Compatibility Resource **************************/
  147. // This custType resource is used by the Printing Manager.  It defines some basic options for 
  148. // use with old applications.  Note: every driver should contain one of these resources. 
  149.  
  150. resource gxCustType (gxCustID, purgeable, sysHeap)
  151. {
  152.     kHorizHighRes,                        // horizontal device resolution (dpi) 
  153.     kVertHighRes,                         // vertical device resolution (dpi) 
  154.     laserWriterSC,                        // type of "upDriver" to use 
  155.     {4, 4},                                // pattern stretching factor. Set to 4 (nearest thing to 300 dpi/72 dpi) 
  156.     gxReplaceLineWidthTranslation + gxOptimizedTranslation + gxRasterTargetTranslation    // SC Style LineWidth comments 
  157. };
  158.  
  159.  
  160. /************************** PREC Resources **************************/
  161. // This PREC definition represents the default print record definition 
  162. // for the old LaserWriter SC driver. This resource is accessed by the 
  163. // Universal Dialog Handler. 
  164. #define    kVertRPaperDefault        1320
  165. #define    kHorizRPaperDefault        1020
  166.  
  167. resource 'PREC' (0, sysHeap)            // PREC 0 - Default print record definition for the old LaserWriter SC driver 
  168. {
  169.     // PrInfo 
  170.     0,
  171.     72,                    // app resolution
  172.     72,
  173.     {kRPageDefault},
  174.         
  175.     // rPaper 
  176.     {kRPaperDefault},
  177.     
  178.     // PrStl 
  179.     kPrinterID,
  180.     NoIWf7,
  181.     NoIWDftBits,
  182.     NoIWResSet,
  183.     NoIWScroll,
  184.     NoIW2xZoom,
  185.     NoIWSqPix,
  186.     Portrait,
  187.     IWHighRes,
  188.     kVertRPaperDefault,
  189.     kHorizRPaperDefault,
  190.     0,
  191.     AutoFeed,
  192.     
  193.     // PrInfoPT     
  194.     kVertHighExactRes,
  195.     kHorizHighExactRes,
  196.     {kRPageHighExactRes},
  197.     
  198.     // PrXInfo 
  199.     0,
  200.     Nof15,
  201.     Nof14,
  202.     Nof13,
  203.     Nof12,
  204.     Nof11,
  205.     Nof10,
  206.     YesGrayScl,
  207.     YesAbortCk,
  208.     NoScale25,
  209.     NoDftBits,
  210.     NoResSet,
  211.     NoBits4x,
  212.     NoScale50,
  213.     NoScale75,
  214.     XPortrait,
  215.     NoTxSmooth,
  216.     0,
  217.     0,
  218.     0,
  219.     kPatScale,
  220.     kULThick,
  221.     kULOffset,
  222.     kULShadow,
  223.     kScanDirection,
  224.     
  225.     // PrJob 
  226.     1,
  227.     9999,
  228.     1,
  229.     Draft,
  230.     1,
  231.     0,
  232.     0,
  233.     0,
  234.     0,
  235.     0,
  236.  
  237.     // PrintX
  238.     {kRPaperDefault}
  239. };
  240.  
  241.  
  242. // version string for old dialogs
  243. resource 'STR ' (-8190, sysHeap ) { "1.1" };
  244.  
  245. /************************** PrStlDialog Resources **************************/
  246. // These dialog related resources define the old LaserWriter SC's Style dialog. 
  247. // These resources are manipulated by the Universal Dialog Handler 
  248.  
  249. resource 'DLOG' (gxStlDialogResID, sysHeap)                // Style Dialog DLOG 
  250. {
  251.     {30, 20, 208, 492},
  252.     dBoxProc,
  253.     invisible,
  254.     noGoAway,
  255.     0x1,
  256.     gxStlDialogResID,
  257.     "Stl",
  258.     noAutoCenter
  259. };
  260.  
  261. resource 'DITL' (gxStlDialogResID, sysHeap)                // Style Dialog DITL 
  262. {
  263.     {    // array DITLarray: 21 elements 
  264.  
  265.         {8, 404, 27, 464}, Button { enabled, "OK" },
  266.         {35, 404, 54, 464}, Button { enabled, "Cancel" },
  267.         {4, 4, 20, 265}, StaticText { disabled, "!0 Page Setup" },        //    !0 substitutes the name of the driver
  268.         {20, 5, 24, 393}, UserItem { disabled },
  269.  
  270.         {88, 4, 104, 88}, StaticText { disabled, "Orientation:" },
  271.         {106, 4, 138, 36}, UserItem { enabled },            // Orientation 
  272.         {106, 41, 138, 73}, UserItem { enabled },            // Orientation 
  273.  
  274.         {32, 4, 48, 50}, StaticText { disabled, "Paper:" },
  275.         {32, 64, 48, 164}, RadioButton { enabled, "US Letter" },
  276.         {48, 64, 64, 164}, RadioButton { enabled, "US Legal" },
  277.         {32, 192, 48, 282}, RadioButton { enabled, "A4 Letter" },
  278.         {48, 192, 64, 282}, RadioButton { enabled, "B5 Letter" },
  279.         {64, 64, 80, 191}, RadioButton { enabled, "Nº 10 Envelope" },
  280.  
  281.         {88, 100, 104, 174}, StaticText { disabled, "Reduction:" },
  282.         {88, 250, 106, 458}, CheckBox { enabled, "Exact Bit Images (Shrink 4%)" },
  283.         
  284.         {4, 341, 19, 365}, UserItem { enabled },            // area for version number 
  285.         {0, 395, 27, 465}, UserItem { disabled },            // user item for OK button 
  286.  
  287.         {88, 174, 104, 234}, RadioButton { enabled, "100%" },
  288.         {103, 174, 119, 234}, RadioButton { enabled, "75%" },
  289.         {118, 174, 134, 234}, RadioButton { enabled, "50%" },
  290.         {133, 174, 149, 234}, RadioButton { enabled, "25%" }
  291.     }
  292. };
  293.  
  294. resource 'dctl' (gxStlDialogResID, sysHeap)                // Universal Dialog Handler dctl for Style Dialog 
  295. {
  296.     21,
  297.     {
  298.         Button {2, cancel},
  299.         Frill {3, printerName},
  300.         Frill {4, line},
  301.         Orientation {6, 7, 0, 0},
  302.         PaperSizes {0, 0, { 9, 10, 11, 12, 13 }},
  303.         Toggle {15, bPreciseBitmap},
  304.         Frill {16, version},
  305.         Frill {17, default},
  306.         Cluster {user0, {18, 19, 20, 21 }},
  307.     }
  308. };
  309.  
  310.  
  311.  
  312. // This resource is needed for proper use of color in Style dialog
  313. resource 'dctb' (gxStlDialogResID, sysheap, purgeable)
  314. {
  315.     {    /* array ColorSpec: 0 elements */
  316.     }
  317. };
  318.  
  319.  
  320. /************************** PrJobDialog Resources **************************/
  321. // These dialog related resources define the old LaserWriter SC's Print dialog. 
  322. // These resources are manipulated by the Universal Dialog Handler 
  323.  
  324. resource 'DLOG' (gxJobDialogResID, sysHeap)             // Job Dialog DLOG 
  325. {
  326.     {28, 26, 156, 500},
  327.     dBoxProc,
  328.     invisible,
  329.     noGoAway,
  330.     0x1,
  331.     gxJobDialogResID,
  332.     "Job",
  333.     noAutoCenter
  334. };
  335.  
  336. resource 'DITL' (gxJobDialogResID, sysHeap)             // Job Dialog DITL 
  337. {
  338.     {    // array DITLarray: 20 elements 
  339.         {8, 404, 27, 464}, Button { enabled, "Print" },
  340.         {35, 404, 54, 464}, Button { enabled, "Cancel" },
  341.         {4, 4, 20, 265}, StaticText { disabled, "!0 Print " },        //    !0 substitutes the name of the driver
  342.         {20, 5, 24, 393}, UserItem { disabled },
  343.         {94, 400, 114, 460}, UserItem { disabled },
  344.  
  345.         {38, 112, 54, 157}, StaticText { disabled, "Pages:" },
  346.         {38, 157, 54, 197}, RadioButton { enabled, "All" },
  347.         {38, 200, 54, 260}, RadioButton { enabled, "From:" },
  348.         {38, 264, 54, 296}, EditText { enabled, "" },
  349.         {38, 304, 54, 326}, StaticText { disabled, "To:" },
  350.  
  351.         {38, 332, 54, 364}, EditText { enabled, "" },
  352.         {38, 4, 54, 54}, StaticText { disabled, "Copies:" },
  353.         {38, 56, 54, 88}, EditText { disabled, "1" },
  354.         {68, 4, 84, 98}, StaticText { disabled, "Paper Source:" },
  355.         {68, 100, 84, 222}, RadioButton { enabled, "Paper Cassette" },
  356.  
  357.         {68, 230, 84, 333}, RadioButton { enabled, "Manual Feed" },
  358.         {4, 341, 19, 365}, UserItem { enabled },
  359.         {0, 395, 27, 465}, UserItem { disabled },
  360.     }
  361. };
  362.  
  363. resource 'dctl' (gxJobDialogResID, sysHeap)                // Universal Dialog Handler dctl for Job Dialog 
  364. {
  365.     19,
  366.     {
  367.         Button {2,    cancel },
  368.         Frill {3, printerName },
  369.         Frill {4, line },
  370.         Copies {13 },
  371.         PageRange {7, 8, 9, 11 },
  372.         Cluster {feed, { 15, 16 } },
  373.         Frill {17, version },
  374.         Frill {18, default },
  375.         DialogBtn {19, 3, 3},
  376.     }
  377. };
  378.  
  379.  
  380. // This resource is needed for proper use of color in Job dialog
  381. resource 'dctb' (gxJobDialogResID, sysheap, purgeable)
  382. {
  383.     {    /* array ColorSpec: 0 elements */
  384.     }
  385. };
  386.  
  387.  
  388. /*************************** Old API Paper Type Definitions **************************/
  389. // These paper type definitions represent the settings of the old LaserWriter SC's paper 
  390. // sizes. 
  391.  
  392. resource 'ptyp' (kOldPaperTypesID + 1, sysHeap)            // US Letter 
  393. {
  394.     "US Letter",
  395.     
  396.     // page rectangle 
  397.     0x00000000,                // 0.0 
  398.     0x00000000,                // 0.0 
  399.     0x02400000,                // 8.0 
  400.     0x02FB0000,                // 10.5972 
  401.  
  402.     // paper rectangle 
  403.     0xFFEE0000,                // -0.25 
  404.     0xFFF10000,                // -0.25 
  405.     0x02520000,                // 8.24 
  406.     0x03090000,                // 10.75 
  407.     
  408.     usLetterBase,
  409.     kDrvrCreatorType,
  410.  
  411.     inch,
  412.     oldStylePaperType,
  413.     isDefaultPaperType,
  414.     {}
  415. };
  416.  
  417. resource 'ptyp' (kOldPaperTypesID + 2, sysHeap)            // US Legal 
  418. {
  419.     "US Legal",
  420.     
  421.     // page rectangle 
  422.     0x00000000,                    /* 6.75 x 12.0 */
  423.     0x00000000,                
  424.     0x01E60000,                    
  425.     0x03600000,                
  426.  
  427.     // paper rectangle 
  428.     0xFFF1D70A,                // -0.196667 
  429.     0xFFF851F0,                // -0.106666 
  430.     0x0255D70C,                // 8.30333 
  431.     0x03E851F0,                // 13.8933 
  432.  
  433.     usLegalBase,
  434.     kDrvrCreatorType,
  435.  
  436.     inch,    
  437.     oldStylePaperType,
  438.     notDefaultPaperType,
  439.     {}
  440. };
  441.  
  442. resource 'ptyp' (kOldPaperTypesID + 3, sysHeap)            // A4 Letter 
  443. {
  444.     "A4 Letter",
  445.     
  446.     // page rectangle 
  447.     0x00000000,                // 8.00 x 11.25 
  448.     0x00000000,
  449.     0x02400000,
  450.     0x032A0000,
  451.  
  452.     // paper rectangle 
  453.     0xFFF70000,                //    8.25 x 11.66
  454.     0xFFF10000,
  455.     0x02490000,
  456.     0x0338C298,
  457.     
  458.     a4LetterBase,
  459.     kDrvrCreatorType,
  460.  
  461.     inch,    
  462.     oldStylePaperType,
  463.     notDefaultPaperType,
  464.     {}
  465. };
  466.  
  467. resource 'ptyp' (kOldPaperTypesID + 4, sysHeap)            // B5 Letter 
  468. {
  469.     "B5 Letter",
  470.     
  471.     // page rectangle 
  472.     0x00000000,                // 6.6667 x 9.4167 
  473.     0x00000000,                
  474.     0x01DFC290,                
  475.     0X02C251EC,                
  476.  
  477.     // paper rectangle 
  478.     -0x14A3D7,                // 6.9306 x 9.8333
  479.     -0x73338,                
  480.     0x01F46667,                
  481.     0x02C98524,                
  482.  
  483.     b5LetterBase,
  484.     kDrvrCreatorType,
  485.  
  486.     inch,    
  487.     oldStylePaperType,
  488.     notDefaultPaperType,
  489.     {}
  490. };
  491.  
  492. resource 'ptyp' (kOldPaperTypesID + 5, sysHeap)            // Nº 10 Envelope 
  493. {
  494.     "Nº 10 Envelope",
  495.     
  496.     // page rectangle 
  497.     0x00000000,                    // 9.1 x 3.73 
  498.     0x00000000,                    
  499.     0x010C8F5C,                    
  500.     0x028F3333,                    
  501.     
  502.     // paper rectangle 
  503.     0xFFF1BE77,                    // 9.5 x 4.125 
  504.     0xFFF1999A,                    
  505.     0x011AD0E5,                    
  506.     0x029D9999,                    
  507.  
  508.     unknownBase,
  509.     kDrvrCreatorType,
  510.  
  511.     inch,
  512.     oldStylePaperType,
  513.     notDefaultPaperType,
  514.     {}
  515. };
  516.  
  517.  
  518. /*************************** Help Manager Resource Definitions **************************/
  519. // These resources define the help text that will be displayed by the System 7 Help Manager
  520. // if help is enabled and on eof the print dialogs is visible.
  521.  
  522.  
  523. // The 'hwin' resource is used by the Help Manager and it links 'hdlg'
  524. // resources to the dialogs to which they apply.  In this case, we have
  525. // two 'hwin' list entries that reference the two old app. print dialogs.
  526.  
  527. resource 'hwin' (kHwinRsrcID, purgeable, sysheap)
  528. {
  529.     HelpMgrVersion,
  530.     hmDefaultOptions,
  531.     {
  532.         gxStlDialogResID, 'hdlg', 3, "Stl",        // Reference to PrStlDialog's 'hdlg' resource
  533.         gxJobDialogResID, 'hdlg', 3, "Job"        // Reference to PrJobDialog's 'hdlg' resource
  534.     }
  535. };
  536.  
  537.  
  538. // The 'hfdr' resource tells the Finder that we have help information it should
  539. // display when the user moves the mouse over the LaserWriter IISC icon when help is enabled.
  540.  
  541. resource 'hfdr' (kHfdrRsrcID, purgeable, sysheap)
  542. {
  543.     HelpMgrVersion,
  544.     hmDefaultOptions,
  545.     0,                    // Default balloon definition function
  546.     0,                    // Default variation code
  547.     {
  548.         HMSTRResItem
  549.         {
  550.             kFinderHelpSTRID    // Resource ID of help string ('STR ') to display
  551.         }
  552.     }
  553. };
  554.  
  555.  
  556. // This string resource contains the help text that will be displayed in the Finder if you
  557. // move the mouse over the LaserWriter IISC icon when help is enabled.
  558.  
  559. resource 'STR ' (kFinderHelpSTRID, purgeable, sysheap)
  560. {
  561.     "LaserWriter IISC\n\n"
  562.     "To enable your Macintosh to print documents on a LaserWriter IISC connected to the SCSI port, place this file in your Extensions folder.";
  563. };
  564.  
  565.  
  566. // This 'hdlg' resource tells the system what help strings to display when the user moves
  567. // the mouse over the LaserWriter IISC's Style dialog with help enabled.
  568.  
  569. resource 'hdlg' (gxStlDialogResID, purgeable, sysheap)
  570. {
  571.     HelpMgrVersion,
  572.     0,                                        // Start help with the first item in the corresponding 'DITL'
  573.     hmDefaultOptions,
  574.     0,                                        // Default balloon definition function
  575.     0,                                        // Ballon variation code - hang below and to the right
  576.     HMStringResItem                    //    This list references help strings to be used for any missing items
  577.     {
  578.         {0, 0},
  579.         {0, 0, 0, 0},
  580.         gxStlDialogResID, 1,
  581.         gxStlDialogResID, 2,
  582.         gxStlDialogResID, 3,
  583.         gxStlDialogResID, 4
  584.     },
  585.     {
  586.         /* [1] */
  587.         HMStringResItem 
  588.         {                                    // OK button
  589.             {0, 0},                        //    default tip: middle right edge of item rect
  590.             {0, 0, 0, 0},                //    default alternate rectangle: use item rect
  591.             gxStlDialogResID, 5,
  592.             gxStlDialogResID, 6,
  593.             gxStlDialogResID, 7,
  594.             gxStlDialogResID, 8
  595.         },
  596.         /* [2] */
  597.         HMStringResItem 
  598.         {                                    // Cancel button
  599.             {0, 0},    
  600.             {0, 0, 0, 0},
  601.             gxStlDialogResID, 9,
  602.             gxStlDialogResID, 10,
  603.             gxStlDialogResID, 11,
  604.             gxStlDialogResID, 12
  605.         },
  606.         /* [3] */
  607.         HMSkipItem 
  608.         {                                    // Title of the dialog - LaserWriterIISC Page Setup
  609.         },
  610.         /* [4] */
  611.         HMSkipItem 
  612.         {                                    //    Horizontal line
  613.         },
  614.         /* [5] */
  615.         HMSkipItem 
  616.         {                                    // Orientation string
  617.         },
  618.         /* [6] */
  619.         HMStringResItem
  620.         {                                    // Portrait orientation
  621.             {0, 0},
  622.             {0, 0, 0, 0},
  623.             gxStlDialogResID, 33,
  624.             gxStlDialogResID, 34,
  625.             gxStlDialogResID, 35,
  626.             gxStlDialogResID, 36
  627.         },
  628.         /* [7] */    
  629.         HMStringResItem 
  630.         {                                    // Landscape orientation
  631.             {0, 0},
  632.             {0, 0, 0, 0},
  633.             gxStlDialogResID, 37,
  634.             gxStlDialogResID, 38,
  635.             gxStlDialogResID, 39,
  636.             gxStlDialogResID, 40
  637.         },
  638.         /* [8] */
  639.         HMSkipItem 
  640.         {                                    // Paper string
  641.         },
  642.         /* [9] */
  643.         HMStringResItem 
  644.         {                                    //    US Letter button
  645.             {0, 0},
  646.             {0, 0, 0, 0},
  647.             gxStlDialogResID, 13,
  648.             gxStlDialogResID, 14,
  649.             gxStlDialogResID, 15,
  650.             gxStlDialogResID, 16
  651.         },
  652.         /* [10] */
  653.         HMStringResItem 
  654.         {                                    //    US Legal button
  655.             {0, 0},
  656.             {0, 0, 0, 0},
  657.             gxStlDialogResID, 21,
  658.             gxStlDialogResID, 22,
  659.             gxStlDialogResID, 23,
  660.             gxStlDialogResID, 24
  661.         },
  662.         /* [11] */
  663.         HMStringResItem 
  664.         {                                    //    A4 Letter button
  665.             {0, 0},
  666.             {0, 0, 0, 0},
  667.             gxStlDialogResID, 17,
  668.             gxStlDialogResID, 18,
  669.             gxStlDialogResID, 19,
  670.             gxStlDialogResID, 20
  671.         },
  672.         /* [12] */
  673.         HMStringResItem 
  674.         {                                    //    B5 Letter button
  675.             {0, 0},
  676.             {0, 0, 0, 0},
  677.             gxStlDialogResID, 25,
  678.             gxStlDialogResID, 26,
  679.             gxStlDialogResID, 27,
  680.             gxStlDialogResID, 28
  681.         },
  682.         /* [13] */
  683.         HMStringResItem 
  684.         {                                    // No. 10 Envelope button
  685.             {0, 0},
  686.             {0, 0, 0, 0},
  687.             gxStlDialogResID, 29,
  688.             gxStlDialogResID, 30,
  689.             gxStlDialogResID, 31,
  690.             gxStlDialogResID, 32
  691.         },
  692.         /* [14] */
  693.         HMStringResItem 
  694.         {                                    //    Reduction string
  695.             {0, 0},
  696.             {0, 0, 0, 0},
  697.             gxStlDialogResID, 33,
  698.             gxStlDialogResID, 34,
  699.             gxStlDialogResID, 35,
  700.             gxStlDialogResID, 36
  701.         },
  702.         /* [15] */
  703.         HMStringResItem 
  704.         {                                    // Exact bit images check box
  705.             {0, 0},
  706.             {0, 0, 0, 0},
  707.             gxStlDialogResID, 53,
  708.             gxStlDialogResID, 54,
  709.             gxStlDialogResID, 55,
  710.             gxStlDialogResID, 56
  711.         },
  712.         /* [16] */
  713.         HMSkipItem {                    //    Version number string
  714.  
  715.         },
  716.         /* [17] */
  717.         HMSkipItem 
  718.         {                                    //    User item for the OK button
  719.         },
  720.         /* [18] */
  721.         HMStringResItem 
  722.         {                                    //    100% reduction button
  723.             {0, 0},
  724.             {0, 0, 0, 0},
  725.             gxStlDialogResID, 41,
  726.             gxStlDialogResID, 42,
  727.             gxStlDialogResID, 43,
  728.             gxStlDialogResID, 44
  729.         },
  730.         /* [19] */
  731.         HMStringResItem 
  732.         {                                    //    75% reduction button
  733.             {0, 0},
  734.             {0, 0, 0, 0},
  735.             gxStlDialogResID, 45,
  736.             gxStlDialogResID, 46,
  737.             gxStlDialogResID, 47,
  738.             gxStlDialogResID, 48
  739.         },
  740.         /* [20] */
  741.         HMStringResItem 
  742.         {                                    // 50% reduction button
  743.             {0, 0},
  744.             {0, 0, 0, 0},
  745.             gxStlDialogResID, 49,
  746.             gxStlDialogResID, 50,
  747.             gxStlDialogResID, 51,
  748.             gxStlDialogResID, 52
  749.         },
  750.         /* [21] */
  751.         HMStringResItem
  752.         {                                    // 25% reduction button
  753.             {0, 0},
  754.             {0, 0, 0, 0},
  755.             gxStlDialogResID, 57,
  756.             gxStlDialogResID, 58,
  757.             gxStlDialogResID, 59,
  758.             gxStlDialogResID, 60
  759.         }
  760.     }
  761. };
  762.  
  763. // This 'hdlg' resource tells the system what help strings to display when the user moves
  764. // the mouse over the LaserWriter IISC's Print dialog with help enabled.
  765.  
  766. resource 'hdlg' (gxJobDialogResID, purgeable, sysheap)
  767. {
  768.     HelpMgrVersion,
  769.     0,                                        // Start help with the first item in the corresponding 'DITL'
  770.     hmDefaultOptions,
  771.     0,                                        // Default balloon definition function
  772.     0,                                        // Ballon variation code - hang below and to the right
  773.     HMStringResItem                    //    This list references help strings to be used for any missing items
  774.     {
  775.         {0, 0},
  776.         {0, 0, 0, 0},
  777.         gxJobDialogResID, 1,
  778.         gxJobDialogResID, 2,
  779.         gxJobDialogResID, 3,
  780.         gxJobDialogResID, 4
  781.     },
  782.     {
  783.         /* [1] */
  784.         HMStringResItem
  785.         {                                    // Print button
  786.             {0, 0},
  787.             {0, 0, 0, 0},
  788.             gxJobDialogResID, 5,
  789.             gxJobDialogResID, 6,
  790.             gxJobDialogResID, 7,
  791.             gxJobDialogResID, 8
  792.         },
  793.         /* [2] */
  794.         HMStringResItem
  795.         {                                    // Cancel button
  796.             {0, 0},
  797.             {0, 0, 0, 0},
  798.             gxJobDialogResID, 9,
  799.             gxJobDialogResID, 10,
  800.             gxJobDialogResID, 11,
  801.             gxJobDialogResID, 12
  802.         },
  803.         /* [3] */
  804.         HMSkipItem
  805.         {                                    // Title of the print dialog
  806.         },
  807.         /* [4] */
  808.         HMSkipItem
  809.         {                                    // Horizontal line
  810.         },
  811.         /* [5] */
  812.         HMSkipItem
  813.         {                                    // A dummy user item
  814.         },
  815.         /* [6] */
  816.         HMSkipItem
  817.         {                                    // Pages string
  818.         },
  819.         /* [7] */
  820.         HMStringResItem                
  821.         {                                    // All button
  822.             {0, 0},
  823.             {0, 0, 0, 0},
  824.             gxJobDialogResID, 17,
  825.             gxJobDialogResID, 18,
  826.             gxJobDialogResID, 19,
  827.             gxJobDialogResID, 20
  828.         },
  829.         /* [8] */
  830.         HMStringResItem
  831.         {                                    // From button
  832.             {0, 0},
  833.             {0, 0, 0, 0},
  834.             gxJobDialogResID, 21,
  835.             gxJobDialogResID, 22,
  836.             gxJobDialogResID, 23,
  837.             gxJobDialogResID, 24
  838.         },
  839.         /* [9] */
  840.         HMStringResItem 
  841.         {                                    // Edittext field for the starting page number
  842.             {0, 0},
  843.             {0, 0, 0, 0},
  844.             gxJobDialogResID, 25,
  845.             gxJobDialogResID, 26,
  846.             gxJobDialogResID, 27,
  847.             gxJobDialogResID, 28
  848.         },
  849.         /* [10] */
  850.         HMSkipItem 
  851.         {                                    // To string
  852.         },
  853.         /* [11] */
  854.         HMStringResItem
  855.         {                                    // Edittext field for the ending page number
  856.             {0, 0},
  857.             {0, 0, 0, 0},
  858.             gxJobDialogResID, 29,
  859.             gxJobDialogResID, 30,
  860.             gxJobDialogResID, 31,
  861.             gxJobDialogResID, 32
  862.         },
  863.         /* [12] */
  864.         HMSkipItem 
  865.         {                                    // Copies string
  866.         },
  867.         /* [13] */
  868.         HMStringResItem 
  869.         {                                    //    Edittext for the number of copies
  870.             {0, 0},
  871.             {0, 0, 0, 0},
  872.             gxJobDialogResID, 13,
  873.             gxJobDialogResID, 14,
  874.             gxJobDialogResID, 15,
  875.             gxJobDialogResID, 16
  876.         },
  877.         /* [14] */
  878.         HMSkipItem 
  879.         {                                    //    Paper Source string
  880.         },
  881.         /* [15] */
  882.         HMStringResItem 
  883.         {                                    // Paper cassette button
  884.             {0, 0},
  885.             {0, 0, 0, 0},
  886.             gxJobDialogResID, 33,
  887.             gxJobDialogResID, 34,
  888.             gxJobDialogResID, 35,
  889.             gxJobDialogResID, 36
  890.         },
  891.         /* [16] */
  892.         HMStringResItem 
  893.         {                                    // Manual Feed button
  894.             {0, 0},
  895.             {0, 0, 0, 0},
  896.             gxJobDialogResID, 37,
  897.             gxJobDialogResID, 38,
  898.             gxJobDialogResID, 39,
  899.             gxJobDialogResID, 40
  900.         },
  901.         /* [17] */
  902.         HMSkipItem 
  903.         {                                    // Version string
  904.         },
  905.         /* [18] */
  906.         HMSkipItem 
  907.         {                                    // User item surrounding Print button
  908.         }
  909.     }
  910. };
  911.  
  912. // This 'STR#' resource contains the help strings that are referenced in the 'hdlg' resource
  913. // that corresponds to the PrStlDialog.
  914.  
  915. resource 'STR#' (gxStlDialogResID, purgeable, sysheap)
  916. {
  917.     {
  918.         /* [1] */    "Missing enabled item in hdlg -8192",
  919.         /* [2] */    "Missing disabled item in hdlg -8192",
  920.         /* [3] */    "Missing checked item in hdlg -8192",
  921.         /* [4] */    "Missing other item in hdlg -8192",
  922.         /* [5] */    "To confirm the settings in this box and close the box, click this button (or press the Return or Enter key).",
  923.         /* [6] */    "",
  924.         /* [7] */    "",
  925.         /* [8] */    "",
  926.         /* [9] */    "To cancel any changes you have made to the settings in this box and close the box, click this button.",
  927.         /* [10] */    "",
  928.         /* [11] */    "",
  929.         /* [12] */    "",
  930.         /* [13] */    "To print your document with standard U.S. letter paper (8 1/2 by 11 inches), click this button.",
  931.         /* [14] */    "",
  932.         /* [15] */    "When this button is selected, your document is set up for standard U.S. letter "
  933.                         "paper (8 1/2 by 11 inches).",
  934.         /* [16] */    "",
  935.         /* [17] */    "To print your document with A4 paper (a standard European letter size, 8 1/2 by "
  936.                         "11 2/3 inches), click this button.",
  937.         /* [18] */    "",
  938.         /* [19] */    "When this button is selected, your document is set up for A4 paper (a standard "
  939.                         "European letter size, 8 1/2 by 11 2/3 inches).",
  940.         /* [20] */    "",
  941.         /* [21] */    "To print your document with U.S. legal paper (8 1/2 by 14 inches), click this button.",
  942.         /* [22] */    "",
  943.         /* [23] */    "When this button is selected, your document will be set up for U.S. legal paper (8 1/2 by 14 inches).",
  944.         /* [24] */    "",
  945.         /* [25] */    "To print your document with B5 paper (a standard European letter size, approximately 6 by 10 inches), click this button.",
  946.         /* [26] */    "",
  947.         /* [27] */    "When this button is selected, your document is set up for B5 paper (a standard "
  948.                         "European letter size, approximately 6 by 10 inches).",
  949.         /* [28] */    "",
  950.         /* [29] */    "To print your document on number 10 (U.S. business-size) envelopes, click this button.",
  951.         /* [30] */    "",
  952.         /* [31] */    "When this button is selected, your document is set up for number 10 (business-size) envelopes.",
  953.         /* [32] */    "",
  954.         /* [33] */    "To set up your document for portrait (tall) printing, click this icon.",
  955.         /* [34] */    "",
  956.         /* [35] */    "When this icon is selected, your document is set up for portrait (tall) printing.",
  957.         /* [36] */    "",
  958.         /* [37] */    "To set up your document for landscape (wide) printing, click this icon.",
  959.         /* [38] */    "",
  960.         /* [39] */    "When this icon is selected, your document is set up for landscape (wide) printing.",
  961.         /* [40] */    "",
  962.         /* [41] */    "To print your document full size (with no reduction), click this button.",
  963.         /* [42] */    "",
  964.         /* [43] */    "When this button is selected, your document is printed at full size (with no reduction).",
  965.         /* [44] */    "",
  966.         /* [45] */    "To print your document at three-quarters its actual size, click this button.",
  967.         /* [46] */    "To print your document at three-quarters its actual size, click this button.  Not "
  968.                         "available because the application program you are using always prints images at actual size.",
  969.         /* [47] */    "When this button is selected, your document is printed at three-quarters its actual size.",
  970.         /* [48] */    "",
  971.         /* [49] */    "To print your document at one-half its actual size, click this button.",
  972.         /* [50] */    "To print your document at one-half its actual size, click this button.  Not available "
  973.                         "because the application program you are using always prints images at actual size.",
  974.         /* [51] */    "When this button is selected, your document is printed at one-half its actual size.",
  975.         /* [52] */    "",
  976.         /* [53] */    "To reduce the printed document by 4% to correct for possible distortions in graphic "
  977.                         "images, click this box.",
  978.         /* [54] */    "To reduce the printed document by 4% to correct for distortions in graphic images, "
  979.                         "click this box.  Not available because the application program you are using "
  980.                         "makes this correction automatically.",
  981.         /* [55] */    "When this box is checked, the printed document is reduced by 4% to correct for "
  982.                         "possible distortions in graphic images.",
  983.         /* [56] */    "",
  984.         /* [57] */    "To print your document at one-fourth its actual size, click this button.",
  985.         /* [58] */    "To print your document at one-fourth its actual size, click this button.  Not available "
  986.                         "because the application program you are using always prints images at actual size.",
  987.         /* [59] */    "When this button is selected, your document is printed at one-fourth its actual size.",
  988.         /* [60] */    ""
  989.     }
  990. };
  991.  
  992.  
  993. // This 'STR#' resource contains the help strings that are referenced in the 'hdlg' resource
  994. // that corresponds to the PrJobDialog.
  995.  
  996.  
  997. resource 'STR#' (gxJobDialogResID, purgeable, sysheap)
  998. {
  999.     {
  1000.         /* [1] */    "Missing enabled item in hdlg -8191",
  1001.         /* [2] */    "Missing disabled item in hdlg -8191",
  1002.         /* [3] */    "Missing checked item in hdlg -8191",
  1003.         /* [4] */    "Missing other item in hdlg -8191",
  1004.         /* [5] */    "To start printing using the settings in this box, click this button (or press the Return or Enter key).",
  1005.         /* [6] */    "",
  1006.         /* [7] */    "",
  1007.         /* [8] */    "",
  1008.         /* [9] */    "To cancel printing without saving any changes you made to settings in this box, click this button.",
  1009.         /* [10] */    "",
  1010.         /* [11] */    "",
  1011.         /* [12] */    "",
  1012.         /* [13] */    "",
  1013.         /* [14] */    "Type the number of copies to be printed here.",
  1014.         /* [15] */    "",
  1015.         /* [16] */    "",
  1016.         /* [17] */    "To print all the pages in the document, click this button.",
  1017.         /* [18] */    "",
  1018.         /* [19] */    "When this button is selected, all the pages in the document are printed.",
  1019.         /* [20] */    "",
  1020.         /* [21] */    "To print a specified range of pages, click this button and type the page numbers"
  1021.                         " in the boxes to the right.  To print one page, type its number in both boxes.",
  1022.         /* [22] */    "",
  1023.         /* [23] */    "When this button is selected, only the pages specified in the boxes to the right are printed.",
  1024.         /* [24] */    "",
  1025.         /* [25] */    "To specify a range of pages to be printed, type the number of the first page here.",
  1026.         /* [26] */    "",
  1027.         /* [27] */    "",
  1028.         /* [28] */    "",
  1029.         /* [29] */    "To specify a range of pages to be printed, type the number of the last page here.",
  1030.         /* [30] */    "",
  1031.         /* [31] */    "",
  1032.         /* [32] */    "",
  1033.         /* [33] */    "To print on paper automatically fed into the printer from the paper cassette, click this button.",
  1034.         /* [34] */    "",
  1035.         /* [35] */    "When this button is selected, the printer uses paper automatically fed from the paper cassette.",
  1036.         /* [36] */    "",
  1037.         /* [37] */    "To print on paper in the multipurpose tray, click this button.",
  1038.         /* [38] */    "",
  1039.         /* [39] */    "When this button is selected, the printer uses paper in the multipurpose tray.",
  1040.         /* [40] */    ""
  1041.     }
  1042. };
  1043.  
  1044.